/**   
* @Title: PrivilegeService.java 
* @Package com.nebula.upms.service 
* @Description: TODO(用一句话描述该文件做什么) 
* @author zhanghui   
* @date 2016年2月3日 上午9:17:34 
* @version V1.0   
*/
package com.nebula.upms.service.biz;

import com.nebula.upms.service.model.po.UpmsPrivilegePO;

import java.util.List;


/** 
* @ClassName: PrivilegeService 
* @Description: TODO(这里用一句话描述这个类的作用) 
* @author zhanghui
* @date 2016年2月3日 上午9:17:34 
*  
*/
public interface PrivilegeService {
	
	public String getFullPrivilegeTree();
	
	public UpmsPrivilegePO getUpmsPrivilegePOByKey(String privilegeId);
	
	public void saveUpmsPrivilegePO(UpmsPrivilegePO UpmsPrivilegePO, String[] operateNameArray, String[] operateCodeArray);
	
	public void updateUpmsPrivilegePO(UpmsPrivilegePO UpmsPrivilegePO, String[] operateNameArray, String[] operateCodeArray);
	/**
	 * 
	  * moveup 上移
	  *
	  * @Title: moveup
	  * @Description: TODO
	  * @param @param appSystemId    
	  * @return void    
	  * @throws
	 */
	public void moveup(String privilegeId);
	/**
	 * 
	  * movedown 下移
	  *
	  * @Title: movedown
	  * @Description: TODO
	  * @param @param appSystemId    
	  * @return void    
	  * @throws
	 */
	public void movedown(String privilegeId);
	
	public boolean removePrivilege(String privilegeId);
	
	public String getPrivilegeGroupPrivilegeTreeJson(String privilegeGroupId);
	
	public String getPrivilegeGroupPrivilegeTreeJson(List<String> privilegeGroupIdList);
	
	public String getPrivilegeGroupCheckPrivilegeTreeJson(String privilegeGroupId);
	
	public String getPrivilegeChildren(String privilegeId);
	
	public String getStaffPrivilegeTressJson(String staffId);
}
